48

Beginner’s Guide to Code Algorithms

48

STEP 10 continued

Next i

For i =​ 1 To 9 Step 3

For j =​ 1 To 9 Step 3

    For k =​ 1 To 3

      ‘ n is column p is row

      n =​ Int((i -​ 1) /​ 3) * 3 +​ k

      triocount =​ 0

      For l =​ 1 To 3

        p =​ Int((j -​ 1) /​ 3) * 3 +​ l

          If (sbox(p, n) <> putnumber And sbox(p, n) <> ““) Or

            findincantbelist(putnumber, p, n) =​ 1 Then

            middlecolumncount(n) =​ middlecolumncount(n) +​ 1

            triocount =​ triocount +​ 1

          End If

        Next l

        If triocount < 3 Then

          middlecolumncount(n) =​ middlecolumncount(n) -​ triocount

          savedrow(n) =​ p

        End If

      Next k

    Next j

Next i

For i =​ 1 To 9

If middlecolumncount(i) =​ 6 Then

    a =​ i Mod 3

      If a =​ 0 Then

        savedcolumn1 =​ i -​ 2

        savedcolumn2 =​ i -​ 1

      Else

      If a =​ 1 Then

        savedcolumn1 =​ i +​ 1

        savedcolumn2 =​ i +​ 2

      Else

        savedcolumn1 =​ i -​ 1

        savedcolumn2 =​ i +​ 1

      End If

      End If

      Call addtocantbelist(putnumber, savedrow(i), savedcolumn1)

      Call addtocantbelist(putnumber, savedrow(i) -​ 1, savedcolumn1)

      Call addtocantbelist(putnumber, savedrow(i) -​ 2, savedcolumn1)

      Call addtocantbelist(putnumber, savedrow(i), savedcolumn2)

      Call addtocantbelist(putnumber, savedrow(i) -​ 1, savedcolumn2)

      Call addtocantbelist(putnumber, savedrow(i) -​ 2, savedcolumn2)

    End If

Next i

:

:

Next putnumber